package com.bestcem.xm.txtanls.service.dto.train;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.List;
import java.util.Map;

/**
 * 转换查询clickhouse数据
 *
 * @author gy.liu
 * @version 1.0
 * @date 2021/5/17 14:01
 **/
@Getter
@Setter
@ToString
public class ClickHouseDTO {

    /**
     * clickhouse中数据总量
     */
    private Integer total;

    /**
     * 本次数据集的偏移量
     */
    private Integer skip;

    /**
     * 列名称存储
     */
    private List<String> colNameList;

    /**
     * 行数据 [map:{列名=>列值...}...]
     * <p>
     * 问卷/答卷项目 每一行会有个 collectionId 作为行的唯一标识, 存入 record/join_info 表中 collection_id 字段
     * 其他项目使用数组下标作为行的唯一标识, 存入 record/join_info 表中 collection_id 字段
     * <p>
     * 每种数据源的唯一标识列名
     * 问卷数据: seq
     * 上传数据: __index__
     * 答卷数据: seq
     * 合表数据: ??? 看具体的合表情况
     * 工单数据: ???
     * <p>
     * 每一行会有个与 project.timeFieldName 同名的键值对 作为分析的时间字段, 存入 record 表中 recordtime 字段(yyyy-MM-dd HH:mm:ss),
     * 存入 join_info 表中 time 字段(格式未知)
     * <p>
     * 其余数据均使用 bi 接口的别名功能, 映射为 project.textfieldList.value 的值, 问卷数据特殊处理, 将 project.textfieldList.value 替换为
     * survey_text_field 表中 project.textfieldList.id 对应 _id 数据的真实列名
     */
    private List<Map<String, String>> allRowsData;
}
